package org.movsim.movdroid;


/**
 * This file is part of the Traffic Simulation Application.
 * The Traffic Simulation Application is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 * 
 * The Traffic Simulation Application is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 * You should have received a copy of the GNU General Public License
 * along with the Traffic Simulation Application.  If not, see <http://www.gnu.org/licenses/>.
 *  
 * @file Score.java
 * @author Gwen Nellen, Raul Barrera (c) July 8, 2013
 * @description object for storing all necessary attributes of a level result
 * @attributes	level (int)
 * 				level_name (String)
 * 				score (double)
 * 				red (int)
 * 				yellow (int)
 *  			green (int)
 * @note 	object will be expanded as required to store all necessary attributes
 * 			as user-configurable variables are added to game functionality
 * 
 */

public class Score implements Constants {

	//	#################################
	//		Score Object Attributes
	//	#################################
	
	private int level;	// level code (corresponds to code in "Constants.java" and external database)
	private String level_name;	// level name (i.e. "Ring Road") for display purposes only
	private double score;	// achieved score
	private int red;
	private int yellow;
	private int green;
	
	//	#############################
	//		Default Constructor
	//	#############################

	public Score() {
		this.level_name = "";	// set default level name
		this.level = 0;	// set default level code
		this.score = 0;	// set default score
		this.red = 0;
		this.yellow = 0;
		this.green = 0;
	}

	//	#################################
	//		Alternative Constructor
	//	#################################
	
	public Score(int level, double score, int red, int yellow, int green) {
		this.level_name = ""; // set default level name
		this.level = level;	// set level code
		this.score = score;	// set achieved score
		this.red = red;
		this.yellow = yellow;
		this.green = green;
		
	}
	
	//	#################
	//		Getters
	//	#################

	public int getLevel() {
		return level;	// return level code
	}

	public String getLevel_name() {
		return level_name;	// return level name
	}

	public double getScore() {
		return score;	// return achieved score
	}

	public int getRed() {
		return red;
	}
	
	public int getYellow() {
		return yellow;
	}
	
	public int getGreen() {
		return green;
	}
	
	//	#################
	//		Setters
	//	#################

	public void setLevel(int level) {
		this.level = level;	// set level code
	}

	public void setLevel_name(String level_name) {
		this.level_name = level_name;	// set level name
	}

	public void setScore(double score) {
		this.score = score;	// set achieved score
	}

	public void setRed(int red) {
		this.red = red;
	}
	
	public void setYellow(int yellow) {
		this.yellow = yellow;
	}
	
	public void setGreen(int green) {
		this.green = green;
	}

}
